The present invention relates to a storage system and particularly to a multi-path management method and system.
A storage system includes RAID arrays, a RAID controller, an adapter and a storage management server. The storage management server is connected with the other devices over a network to manage the operation of the entire storage system. FIG. 1 illustrates a structural block diagram of the storage system. A Redundant Array of Independent (or Inexpensive) Disks (RAID) array is a large-capacity disks group composed of a large number of inexpensive disks to improve the efficiency of the entire disk system due to an additive effect arising from provision of data by the individual disks. The storage system creates a variety of RAID arrays internally through the RAID controller. The storage system further creates logical volumes in the RAID arrays, also referred to as Logical Unit Numbers (LUNs), which are in turn mapped to hosts, and the hosts will use the LUNs as local hard disks.
The hosts communicate with the storage system through Fiber Channel (FC) switches. The host side is connected with the fiber channel switches by Host Bus Adapters (HBAs), referred to as a host bus adapter at the host side and also referred to as a Fiber Channel interface card or an FC adapter at the switch side. The storage system side is also connected with the fiber channel switches by fiber channel interface cards or fiber channel adapters.
FIG. 2 illustrates connection relationships between the hosts, the fiber channel switches and the storage system. In FIG. 2, host 1 can access the LUNs on the storage system over 4 paths, that is, from HBA1 port of host 1 to fiber channel adapter port 1 of the storage system, from HBA1 port of host 1 to fiber channel adapter port 2 of the storage system, from HBA2 port of host 1 to fiber channel adapter port 1 of the storage system, and from HBA2 port of host 1 to fiber channel adapter port 2 of the storage system. Moreover, host 2 can access the LUNs on the storage system over 4 paths.
A host reaches the storage system over multiple paths, and multi-path software can be installed on the host to manage the multiple paths between the host and the storage system. The multi-path software can balance an Input and Output (IO) of each path; obviate a failed path in routing an IO upon detection of the failed path; resume communication between the host and an LUN of the storage system over the original path when the failure of the path is removed; and so on. Path selection algorithms adopted by the multi-path software include:
Failover: only one path is selected to route an IO, and another path will be selected to route the IO only if that path fails;
Round Robin: an IO is routed alternately over multiple paths; and
Load Balance: a path on a lightly loaded HBA is selected to route an IO; and a path will be selected randomly if there are equally loaded HBAs.
When a large number of LUNs of the storage system are mapped to a host, for example, the host has 1,000 or more LUNs mapped thereto and can access the storage system over 6 or more paths, then the multi-path software will manage 6,000 or more paths; moreover the host also has to start 1,000 multi-path selection processes responsible for path selection on the 1,000 LUNs respectively. The multi-path software will consume a large amount of host resources (including CPU and memory) for management of these paths, thus degrading the efficiency of the host greatly. Thus, the existing multi-path software does not recommend a large number of paths configured for each LUN.